/**
 * 密码验证工具
 * 用于验证密码、邀请码等字段
 */

/**
 * 密码验证函数
 * @param value 要验证的值
 * @param fieldName 字段名称（用于错误提示）
 * @param minLength 最小长度
 * @param maxLength 最大长度
 * @returns 验证结果
 */
export const validatePassword = (
  value: string,
  fieldName: string,
  minLength: number = 8,
  maxLength: number = 20
): { isValid: boolean; message?: string } => {
  // 空值检查
  if (!value) {
    return {
      isValid: false,
      message: `请输入${fieldName}`
    };
  }

  // 长度检查
  if (value.length < minLength || value.length > maxLength) {
    return {
      isValid: false,
      message: `${fieldName}长度必须在${minLength}-${maxLength}位之间`
    };
  }

  // 格式验证：只允许字母、数字和-、_字符
  if (!/^[a-zA-Z0-9\-_]+$/.test(value)) {
    return {
      isValid: false,
      message: `${fieldName}只能包含字母、数字和-_字符`
    };
  }

  return { isValid: true };
}; 